go/types.funcDecl.decl (field)
19 uses
go/types (current package)
decl.go#L373: funcDecl struct{ decl *ast.FuncDecl }
decl.go#L380: func (d funcDecl) node() ast.Node { return d.decl }
resolver.go#L401: name := d.decl.Name.Name
resolver.go#L402: obj := NewFunc(d.decl.Name.Pos(), pkg, name, nil) // signature set later
resolver.go#L404: if d.decl.Recv.NumFields() == 0 {
resolver.go#L406: if d.decl.Recv != nil {
resolver.go#L407: check.error(d.decl.Recv, BadRecv, "method has no receiver")
resolver.go#L415: if d.decl.Type.TypeParams.NumFields() != 0 {
resolver.go#L416: check.softErrorf(d.decl.Type.TypeParams.List[0], code, "func %s must have no type parameters", name)
resolver.go#L419: if t := d.decl.Type; t.Params.NumFields() != 0 || t.Results != nil {
resolver.go#L421: check.softErrorf(d.decl.Name, code, "func %s must have no arguments and no return values", name)
resolver.go#L427: check.recordDef(d.decl.Name, obj)
resolver.go#L429: if d.decl.Body == nil {
resolver.go#L434: check.declare(pkg.scope, d.decl.Name, obj, nopos)
resolver.go#L444: ptr, base, _ := check.unpackRecv(d.decl.Recv.List[0].Type, false)
resolver.go#L451: check.recordDef(d.decl.Name, obj)
resolver.go#L453: _ = d.decl.Type.TypeParams.NumFields() != 0 && !hasTParamError && check.verifyVersionf(d.decl.Type.TypeParams.List[0], go1_18, "type parameter")
resolver.go#L454: info := &declInfo{file: fileScope, version: check.version, fdecl: d.decl}